package cn.com.ylpw.web.order.service;

import java.util.List;
import java.util.Map;

/**
 * 订单Service接口
 * 
 * @author 于旺
 * @date   2015年9月23日13:56:31
 * @Copyright ©2003-2015 北京春秋永乐文化传播有限公司. All Rights Reserved.
 * @version 新架构 1.0
 */
public interface OrderService {

	Map<String,Object> getCustomer(Map<String,Object> params) throws Exception;
	/**
	 * 用查询的方式校验商品是否与票价匹配
	 * @author 于旺
	 * @date   2015年9月23日13:56:31
	 * @param  Map<String,Object> params
	 * @return Map<String,Object>
	 * @throws Exception
	 */
	Map<String,Object> getProduct(Map<String,Object> params) throws Exception;
	/**
	 * 获得商品详情
	 * @author 于旺
	 * @date   2015年10月12日10:44:40
	 * @param  Map<String,Object> params
	 * @return Map<String,Object>
	 * @throws Exception
	 */
	Map<String,Object> getProductAll(Map<String,Object> params) throws Exception;
	/**
	 * 功能描述: 商品遮罩需要的信息
	 * @author 于旺
	 * @createtime 2015年10月12日11:13:10
	 * @param  Map<String,Object> params
	 * @return Map<String,Object> 
	 */
	Map<String,Object> findShadeInfo(Map<String,Object> params) throws Exception;	
	/**
	 * 功能描述: 商品遮罩码
	 * @author 于旺
	 * @createtime 2015年10月12日11:13:10
	 * @param  Map<String,Object> params
	 * @return Map<String,Object> 
	 */
	Map<String,Object> findShadePassword(Map<String,Object> params) throws Exception;	
	
	/**
	 * 功能描述: 看是否符合当前平台专享 (不为空即为符合)
	 * @author 于旺
	 * @createtime 2015年10月12日16:26:58
	 * @param	Map<String,Object> params
	 * @return  Map<String,Object> 返回的信息
	 */
	Map<String,Object> findVipPricePC(Map<String,Object> params) throws Exception;	
	/**
	 * 功能描述: 查询订单商品所在的分站信息
	 * @author 于旺
	 * @createtime 2015年10月12日16:26:58
	 * @param	Map<String,Object> params
	 * @return  Map<String,Object> 返回的信息
	 */
	Map<String,Object> findTfconfig(Map<String,Object> params) throws Exception;
	/**
	 * 功能描述: 抢票活动需要的信息
	 * @author 于旺
	 * @createtime 2015年10月13日15:56:58
	 * @param Map<String,Object>  params
	 * @return Map<String,Object> 返回的信息
	 */
	public Map<String, Object> shakedown(Map<String,Object> params) throws Exception;
	
	/**
	 * 功能描述:  用户限购功能
	 * @author 于旺
	 * @createtime 2015年10月13日15:56:58
	 * @param Map<String,Object>  params
	 * @return Map<String,Object> 返回限购相关的信息
	 */
	public Integer CusLimitTicOrder(Map<String,Object> params) throws Exception;
	
	/**
	 * 功能描述: 取用户地址列表
	 * @author 于旺
	 * @createtime 2015年10月16日14:55:21
	 * @param Map<String,Object>  params
	 * @return List<Map<String, Object>> 用户地址列表
	 */
	public List<Map<String, Object>> findCusAddress(Map<String,Object> params) throws Exception;	
	
	/**
	 * 功能描述: 根据用户id查询出用户名下满足要求的可用的礼券信息
	 * @author 于旺
	 * @createtime 2015年10月21日14:54:32
	 * @param Map<String,Object>  params
	 * @return List<Map<String, Object>>
	 */
	public List<Map<String, Object>> findCustomerCashcoupon(Map<String,Object> params) throws Exception;
	
	/**
	 * 功能描述: 根据用现金券编号查询现金券
	 * @author 于旺
	 * @createtime 2015年10月21日16:15:33
	 * @param Map<String,Object>  params
	 * @return Map<String, Object>
	 */
	public List<Map<String, Object>> findCashcouponInfoByNo(Map<String,Object> params) throws Exception;
	
	/**
	 * 用查询的方式校验该身份证是否购买过此商品
	 * @author 于旺
	 * @date   2015年10月25日14:59:08
	 * @param  Map<String,Object> params
	 * @return Integer
	 * @throws Exception
	 */
	public Integer findTruebuy(Map<String,Object> params) throws Exception;	
	
	/**
	 * 功能描述: 根据商品ID查询选座相关的数据
	 * @author 于旺
	 * @createtime 2015年10月26日15:58:48
	 * @param Map<String,Object>  params
	 * @return List<Map<String, Object>>
	 */
	public List<Map<String, Object>> findProductplaysByProductId(Map<String,Object> params) throws Exception;	

	/**
	 * 用查询的方式校验预存款密码是否正确
	 * @author 于旺
	 * @date   2015年10月29日15:25:52
	 * @param  Map<String,Object> params
	 * @return Integer
	 * @throws Exception
	 */
	public Integer findRenewal(Map<String,Object> params) throws Exception;	
	
	/**
	 * 功能描述: 根据订单id查询订单
	 * @author 于旺
	 * @createtime 2015年11月2日14:29:38
	 * @param Map<String,Object>  params
	 * @return Map<String, Object>
	 */
	public Map<String, Object> findOrderById(Map<String,Object> params) throws Exception;
	
	/**
	 * 功能描述: 根据订单id查询订单明细列表
	 * @author 于旺
	 * @createtime 2015年11月2日16:22:18
	 * @param Map<String,Object>  params
	 * @return List<Map<String, Object>>
	 */
	public List<Map<String, Object>> findOrderdetailsByOrderIdNew(Map<String,Object> params) throws Exception;

	/**
	 * 功能描述: 查询分站上门自取详情
	 * @author 于旺
	 * @createtime 2015年12月11日11:05:50
	 * @param	Map<String,Object> params
	 * @return  Map<String,Object> 返回的信息
	 */
	Map<String,Object> findTfconfigUpdoor(Map<String,Object> params) throws Exception;
	
	/**
	 * 功能描述: 取联盟信息列表
	 * @author 于旺
	 * @createtime 2015年12月22日14:30:32
	 * @param Map<String,Object>  params
	 * @return List<Map<String, Object>>
	 */
	public List<Map<String, Object>> findCodeInfo(Map<String,Object> params) throws Exception;
	
	/**
	 * 功能描述:  是否支持货到付款购买方式 
	 * @author 于旺
	 * @createtime 2016年2月23日10:14:42
	 * @param Map<String,Object>  params
	 * @return Map<String,Object> 返回数据条数，大于0为支持
	 */
	public Integer isCashDis(Map<String,Object> params) throws Exception;	
	
	/**
	 * 功能描述:  是否支持货到付款购买方式 (总开关 技术专区-技术维护-支付方式)
	 * @author 于旺
	 * @createtime 2016年4月13日09:33:14
	 * @param Map<String,Object>  params
	 * @return Map<String,Object> 返回数据条数，大于0为支持
	 */
	public Integer isCashDisAll(Map<String,Object> params) throws Exception;	
}
